//
//  MapBlock.h
//  ZeroWorld
//
//  Created by 马进 on 2018/2/9.
//  Copyright © 2018年 马进. All rights reserved.
//
// 方向枚举值

#import <Foundation/Foundation.h>
@class MapArea;
//地图块类
@interface MapBlock : NSObject

typedef NS_ENUM (NSUInteger, MapDirection) {
    MapDirectionNorth = 0,
    MapDirectionEast,
    MapDirectionWest,
    MapDirectionSouth,
    MapDirectionNorthEast,
    MapDirectionNorthWest,
    MapDirectionSouthEast,
    MapDirectionSouthWest,
    MapDirectionUp,
    MapDirectionDown,
};
//地图块id
@property (nonatomic, assign) NSUInteger mapid;
//地图块名称
@property (nonatomic, strong) NSString *name;
//以下是该地图当前包含的三类内容
//事件
@property (nonatomic, strong) NSMutableArray *events;
//人物 （NPC和玩家）
@property (nonatomic, strong) NSMutableArray *roles;
//物品
@property (nonatomic, strong) NSMutableArray *objects;
// 地图块所属的区域
@property (nonatomic, strong) MapArea *area;

// 出口 根据上面的枚举值，目前设定总共10个方向 0北方 1东方 2西方 3南方 4东北 5西北 6东南 7西南 8上方 9下方 未来可能拓展
// 如果可通行，对应的下标存放的就是通往的地图id， 如果不可通行，存放的就是1000
@property (nonatomic, strong) NSIndexPath *outWays;
// 初始化方法
- (instancetype)initMapBlockWith:(NSUInteger)mapid name:(NSString *)name area:(MapArea *)area outWays:(NSIndexPath *)outWays;
- (void)enter: (NSObject *)someone;
- (MapBlock *)lookForWay:(MapDirection)idnex;
@end
